.form {
  &__group:not(:last-child) {
    margin-bottom: 2rem;
  }
  &__input {
    display: block;

    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 2px;
    padding: 1.5rem 2rem;
    width: 90%;

    font-family: inherit;
    font-size: 1.5rem;

    color: inherit;
    background-color: rgba($color-white, 0.5);

    transition: all 0.3s;

    @include respond(tab-port) {
      width: 100%;
    }

    &:focus {
      border-bottom: 3px solid $color-primary;

      outline: none;
      box-shadow: 0 1rem 2rem rgba($color-black, 0.1);
    }

    &:focus:invalid {
      border-bottom: 3px solid $color-secondary-dark;
    }

    &::-webkit-input-placeholder {
      color: $color-grey-dark-2;
    }
  }

  &__label {
    display: block;

    margin-top: 0.7rem;
    margin-left: 2rem;

    font-size: 1.2rem;
    font-weight: 700;

    transition: all 0.3s;
  }

  &__input:placeholder-shown + &__label {
    visibility: hidden;

    opacity: 0;

    transform: translateY(-4rem);
  }
  &__radio-group {
    display: inline-block;

    width: 49%;

    @include respond(tab-port) {
      width: 100%;
      margin-bottom: 2rem;
    }
  }
  &__radio-input {
    display: none;
  }
  &__radio-label {
    position: relative;

    padding-left: 4.5rem;

    font-size: $default-font-size;

    cursor: pointer;
  }
  &__radio-button {
    display: inline-block;

    position: absolute;
    top: -0.4rem;
    left: 0;

    border: 5px solid $color-primary;
    border-radius: 50%;
    width: 3rem;
    height: 3rem;
    &::after {
      display: block;

      position: absolute;
      top: 50%;
      left: 50%;

      border-radius: 50%;
      width: 1.3rem;
      height: 1.3rem;

      background-color: $color-primary;

      opacity: 0;

      transition: opacity 0.2s;
      transform: translate(-50%, -50%);

      content: "";
    }
  }

  &__radio-input:checked + &__radio-label &__radio-button::after {
    opacity: 1;
  }
}
